CC=g++
#-c表示只编译而不链接
CFLAG=-Wall -c 
OBJS=main.o echo.o tcpserver.o acceptor.o\
	 channel.o eventloop.o epoller.o tcpconnectionptr.o

# $^ 表示所有依赖文件
web_server:$(OBJS)
	$(CC) $^ -o $@

# $<表示:所有依赖项   $@表示目标文件
main.o:main.cc eventloop.h address.h echo.h
	$(CC) $(CFLAG) $< -o $@

echo.o:echo.cc echo.h tcpserver.h
	$(CC) $(CFLAG) $< -o $@

tcpserver.o:tcpserver.cc acceptor.h address.h channel.h
	$(CC) $(CFLAG) $< -o $@

acceptor.o:acceptor.cc acceptor.h address.h channel.h
	$(CC) $(CFLAG) $< -o $@

channel.o:channel.cc channel.h
	$(CC) $(CFLAG) $< -o $@

tcpconnectionptr.o:tcpconnectionptr.cc tcpconnectionptr.h channel.h
	$(CC) $(CFLAG) $< -o $@

.PHONY:clean
clean:
	rm *.o
